package com.orangelife.service.propFeeComputeRule.model;

import java.io.Serializable;
import java.util.List;

import com.orangelife.service.propFeePollfee.model.PropFeePollfeeDto;
import com.orangelife.service.propFeeRuleLinkApartment.model.PropFeeRuleLinkApartmentDto;
import com.orangelife.service.propFeeRuleLinkMeter.model.PropFeeRuleLinkMeterDto;
import com.orangelife.service.propFeeRuleParam.model.PropFeeRuleParamDto;

/**
 * 
 * 计费规则
 * 
 **/
/*****************************************************************
 * Copyright(C) ORANGELIFE Corporation 2015. All Rights Reserved.
 *****************************************************************/
/*
 * ============================================================== 功能名 计费规则 的实体
 * 
 * @author zhr
 * 
 * @version 1.1.0
 * 
 * @date 2016-07-25 10:41:12
 * ==============================================================
 */
public class PropFeeComputeRuleDto implements Serializable, Cloneable {
	private static final long serialVersionUID = 1L;

	/**
	 * 
	 * 规则id*
	 **/
	private String ruleID;

	/**
	 * 
	 * 小区id*
	 **/
	private String commID;

	/**
	 * 
	 * 规则名称*
	 **/
	private String ruleName;

	/**
	 * 
	 * 收费类目*
	 **/
	private String feeTypeID;

	/**
	 * 
	 * 规则类型*
	 **/
	private String ruleType;
	/**
	 * 
	 * 是否每月生成
	 **/
	private Integer isEvery;

	/**
	 * 
	 * 规则*
	 **/
	private String rule;

	/**
	 * 
	 * 进位类型 1四舍五入（默认）2舍去*
	 **/
	private String roundType;

	/**
	 * 
	 * 小数点后*
	 **/
	private Integer round;

	/**
	 * 
	 * 生成周期(1按月，2按季)*
	 **/
	private String periodType;

	/**
	 * 
	 * 当前生成日期*
	 **/
	private String curDate;

	/**
	 * 
	 * 状态*
	 **/
	private String status;

	/**
	 * 
	 * 创建时间*
	 **/
	private java.util.Date tscreate;

	/**
	 * 
	 * 修改时间*
	 **/
	private java.util.Date tsedit;

	/**
	 * 
	 * 是否有效*
	 **/
	private String itemStat;

	/**
	 * 
	 * 创建者*
	 **/
	private String createuserID;

	/**
	 * 
	 * 修改者*
	 **/
	private String edituserID;

	/**
	 * 
	 * 有效期类型（1永久有效2时间段内有效,3一次性）
	 **/
	private String validityType;
	/**
	 * 
	 * 临时开始时间*
	 **/
	private String startTime;

	/**
	 * 
	 * 临时结束时间*
	 **/
	private String endTime;
	/**
	 * 
	 * 完整公式*
	 **/
	private String compRule;

	private String ruleConfig;
	
	private String initID;
	

	private String createuser;

	public String getCreateuser() {
		return createuser;
	}

	public void setCreateuser(String createuser) {
		this.createuser = createuser;
	}

	public String getRuleConfig() {
		return ruleConfig;
	}

	public void setRuleConfig(String ruleConfig) {
		this.ruleConfig = ruleConfig;
	}

	public String getCompRule() {
		return compRule;
	}

	public void setCompRule(String compRule) {
		this.compRule = compRule;
	}

	private List<PropFeeRuleLinkApartmentDto> propFeeRuleLinkApartments;

	/***
	 * 规则公摊关联表
	 */
	private List<PropFeeRuleLinkMeterDto> propFeeRuleLinkMeters;

	/****
	 * 计费参数表
	 */
	private List<PropFeeRuleParamDto> propFeeRuleParams;

	/****
	 * 公摊费用录入表
	 */
	private List<PropFeePollfeeDto> propFeepollFees;

	public List<PropFeeRuleLinkMeterDto> getPropFeeRuleLinkMeters() {
		return propFeeRuleLinkMeters;
	}

	public void setPropFeeRuleLinkMeters(
			List<PropFeeRuleLinkMeterDto> propFeeRuleLinkMeters) {
		this.propFeeRuleLinkMeters = propFeeRuleLinkMeters;
	}

	public List<PropFeeRuleParamDto> getPropFeeRuleParams() {
		return propFeeRuleParams;
	}

	public void setPropFeeRuleParams(List<PropFeeRuleParamDto> propFeeRuleParams) {
		this.propFeeRuleParams = propFeeRuleParams;
	}

	public List<PropFeePollfeeDto> getPropFeepollFees() {
		return propFeepollFees;
	}

	public void setPropFeepollFees(List<PropFeePollfeeDto> propFeepollFees) {
		this.propFeepollFees = propFeepollFees;
	}

	public String getStartTime() {
		return startTime;
	}

	public void setStartTime(String startTime) {
		this.startTime = startTime;
	}

	public String getEndTime() {
		return endTime;
	}

	public void setEndTime(String endTime) {
		this.endTime = endTime;
	}

	public List<PropFeeRuleLinkApartmentDto> getPropFeeRuleLinkApartments() {
		return propFeeRuleLinkApartments;
	}

	public void setPropFeeRuleLinkApartments(
			List<PropFeeRuleLinkApartmentDto> propFeeRuleLinkApartments) {
		this.propFeeRuleLinkApartments = propFeeRuleLinkApartments;
	}

	public static long getSerialversionuid() {
		return serialVersionUID;
	}

	public void setRuleID(String ruleID) {
		this.ruleID = ruleID;
	}

	public String getRuleID() {
		return ruleID;
	}

	public void setCommID(String commID) {
		this.commID = commID;
	}

	public String getCommID() {
		return commID;
	}

	public void setRuleName(String ruleName) {
		this.ruleName = ruleName;
	}

	public String getRuleName() {
		return ruleName;
	}

	public void setFeeTypeID(String feeTypeID) {
		this.feeTypeID = feeTypeID;
	}

	public String getFeeTypeID() {
		return feeTypeID;
	}

	public void setRuleType(String ruleType) {
		this.ruleType = ruleType;
	}

	public String getRuleType() {
		return ruleType;
	}

	public void setRule(String rule) {
		this.rule = rule;
	}

	public String getRule() {
		return rule;
	}

	public void setRoundType(String roundType) {
		this.roundType = roundType;
	}

	public String getRoundType() {
		return roundType;
	}

	public void setRound(Integer round) {
		this.round = round;
	}

	public Integer getRound() {
		return round;
	}

	public void setPeriodType(String periodType) {
		this.periodType = periodType;
	}

	public String getPeriodType() {
		return periodType;
	}

	public void setCurDate(String curDate) {
		this.curDate = curDate;
	}

	public String getCurDate() {
		return curDate;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public String getStatus() {
		return status;
	}

	public void setTscreate(java.util.Date tscreate) {
		this.tscreate = tscreate;
	}

	public java.util.Date getTscreate() {
		return tscreate;
	}

	public void setTsedit(java.util.Date tsedit) {
		this.tsedit = tsedit;
	}

	public java.util.Date getTsedit() {
		return tsedit;
	}

	public void setItemStat(String itemStat) {
		this.itemStat = itemStat;
	}

	public String getItemStat() {
		return itemStat;
	}

	public void setCreateuserID(String createuserID) {
		this.createuserID = createuserID;
	}

	public String getCreateuserID() {
		return createuserID;
	}

	public void setEdituserID(String edituserID) {
		this.edituserID = edituserID;
	}

	public String getEdituserID() {
		return edituserID;
	}

	public Integer getIsEvery() {
		return isEvery;
	}

	public void setIsEvery(Integer isEvery) {
		this.isEvery = isEvery;
	}

	public String getValidityType() {
		return validityType;
	}

	public void setValidityType(String validityType) {
		this.validityType = validityType;
	}

	@Override
	public PropFeeComputeRuleDto clone() {
		PropFeeComputeRuleDto propFeeComputeRuleDto = null;
		try {
			propFeeComputeRuleDto = (PropFeeComputeRuleDto) super.clone();
		} catch (CloneNotSupportedException e) {
			e.printStackTrace();
		}
		return propFeeComputeRuleDto;
	}

	public String getInitID() {
		return initID;
	}

	public void setInitID(String initID) {
		this.initID = initID;
	}

}
